package com.ziyun.erp.modules.quoteProduct.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ziyun.erp.modules.order.vo.QuoteAllotCraftsVo;
import com.ziyun.erp.modules.quoteProduct.dto.QuoteProductBaseInfoDto;
import com.ziyun.erp.modules.quoteProduct.entity.QuoteProductBaseInfoEntity;
import com.ziyun.erp.modules.quoteProduct.vo.QuoteAttributeOptionVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 产品基础信息关系表
 * 
 * @author zh
 * @email 296588519@qq.com
 * @date 2018-09-05 15:37:34
 */
public interface QuoteProductBaseInfoDao extends BaseMapper<QuoteProductBaseInfoEntity> {

    List<QuoteAttributeOptionVo> selectNormalAttributeOption(Map<String, Object> paramsMap);

    List<QuoteAttributeOptionVo> selectMaterialAttributeOption(Map<String, Object> paramsMap);

    List<QuoteProductBaseInfoDto> selectQuoteBaseInfoList(Page<QuoteProductBaseInfoDto> page, Map<String, Object> params);

    List<Map<String,Object>> selectOptionBaseInfoList(Map<String, Object> paramsMap);

    List<Integer> getPartsIdByCategoryId(@Param("categoryId") Integer categoryId);

    List<Map<String,Object>> selectHasPriceOption(@Param("factoryId") Integer factoryId, @Param("optionIds")String optionIds);

    List<Map<String,Object>> selectMaterialOptionKey(@Param("optionIds") String optionIds);

    List<Map<String,Object>> selectOptionByOptionKeyAndOptionIds(@Param("optionKey") String optionKey, @Param("optionIds")String optionIds);

    List<QuoteAllotCraftsVo> getCraftsAllotInfo(@Param("map") Map<String, Object> map);
}
